/*
 * 版权所有 (C) 2021 中国南方航空股份有限公司。
 * 本文件可能包含有南方航空公司的机密或专有信息。
 * 未经许可不得擅自公开、复制这些机密资料及其中任何部分，
 * 只可按照其使用许可协议，在南方航空公司内部使用。
 *
 * File Name: $(#)TestListStream.java
 * Creation Date: 2021年8月14日 下午11:36:25
 * $Id$
 */
package com.andy.note.main.demo;

import lombok.experimental.UtilityClass;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

/**
 * <p>
 * DOCUMENTME <code>com.andy.note.main.demo.TestListStream</code>类的说明
 * </p>
 * <p>
 * Function List:
 * <ul>
 * <li>TODO 添加功能名称及描述</li>
 * </ul>
 * </p>
 * <p>
 * Revision History:
 * <ul>
 * <li>2021年8月14日 90811 初始版本</li>
 * </ul>
 * </p>
 *
 * @author zhouguoan 908119428@qq.com
 * @version $Revision: 1.1 $ $Date: 2021年8月14日 下午11:36:25 $
 */
@UtilityClass
public class TestListStream {

    public void test() {System.out.println("test");}
    public static void main(String[] args) {
//        List<Integer> list = Arrays.asList(1,2,3,4,5,6);
//        
//        list.stream().map(x -> {return x+100;}).forEach(System.out::println);
//        list.stream().flatMap(x -> {
//            return Arrays.asList(x+1,x+2,x+3).stream();
//        }).forEach(System.out::println);
//        test();
//        
        List<String> words = new ArrayList<String>();
        words.add("aaabcd");
        words.add("bdda");
        
        List<String> stringList = words.stream()
                .flatMap(word -> {
                    System.out.println(Arrays.toString(word.split("")));
                    return Arrays.stream(word.split("")); 
                })
                .distinct()
                .collect(Collectors.toList());
        stringList.forEach(e -> System.out.println(e));
    }
    
}

 
